The present invention relates to data processing used for a full-color printing related equipment such as a printer, a video printer, or a scanner, an image processor for forming computer graphic images or a display device such as a monitor. More specifically, the invention relates to a color conversion device and a color conversion method for performing color conversion for image data of three colors of red, green and blue in accordance with the equipment used.
Color conversion in printing is an indispensable technology for compensating deterioration of image quality due to color mixing property due to the fact that the ink is not of a pure color, or the non-linearity (in the hue) of the image-printing, in order to output a printed image with a high color reproducibility. Also, in a display device such as a monitor or the like, color conversion is performed in order to output (display) an image having desired color reproducibility in accordance with conditions under which the device is used or the like when an inputted color signal is to be displayed.
Conventionally, two methods have been available for the foregoing color conversion: a table conversion method and a matrix calculation method.
In the table conversion method, image data of red, green and blue (referred to xe2x80x9cR, G and Bxe2x80x9d, hereinafter) are inputted to obtain image data of R, G and B stored beforehand in a memory such as ROM or complementary color data of yellow, magenta and cyan (referred to as xe2x80x9cY, M and Cxe2x80x9d, hereinafter). Since an arbitrary conversion characteristic can be employed, this table conversion method has an advantageous in that color conversion can be effected with good color reproducibility.
However, in a simple structure for storing data for each combination of image data, a large-capacity memory of about 400 Mbit must be used. For example, even in the case of a compression method for memory capacity disclosed in Japanese Patent Kokai Publication No. S63-227181, memory capacity is about 5 Mbit. Therefore, a problem inherent in the table conversion system is that since a large-capacity memory is necessary for each conversion characteristic, it is difficult to implement the method by means of an LSI, and it is also impossible to deal with changes in the condition under which the conversion is carried out.
On the other hand, in the case of the matrix calculation method, for example, for obtaining printing data of Y, M and C from image data of R, G and B, the following formula (42) is used as a basic calculation formula.                               [                                                    Y                                                                    M                                                                    C                                              ]                =                              (            Aij            )                    ⁢                      xe2x80x83                    [                                                    R                                                                    G                                                                    B                                              ]                                    (        42        )            
Here, i=1 to 3, and j=1 to 3.
However, by the simple linear calculation of the formula (42), it is impossible to provide a good conversion characteristic because of a non-linearity of an image-printing or the like.
A method has been proposed for providing a conversion characteristic to improve the foregoing characteristic. This method is disclosed in Japanese Patent Application Kokoku Publication H2-30226, directed to xe2x80x9ccolor correction calculation device, and employs a matrix calculation formula (43) below.                               [                                                    Y                                                                    M                                                                    C                                              ]                =                              (            Dij            )                    ⁢                      xe2x80x83                    [                                                                                        ⁢                  R                                                                                                                        ⁢                  G                                                                                                                        ⁢                  B                                                                                                                        ⁢                                      R                    *                    G                                                                                                                                          ⁢                                      G                    *                    B                                                                                                                                          ⁢                                      B                    *                    R                                                                                                                                          ⁢                                      R                    *                    R                                                                                                                                          ⁢                                      G                    *                    G                                                                                                                                          ⁢                                      B                    *                    B                                                                                                                                          ⁢                  N                                                              ]                                    (        43        )            
Here, N is a constant, i=1 to 3, and j=1 to 10.
In the foregoing formula (43), since image data having a mixture of an achromatic component and a color component is directly used, mutual interference occur in computation. In other words, if one of the coefficients is changed, influence is given to the components or hues other than the target component or hue (the component or hue for which the coefficient is changed). Consequently, a good conversion characteristic cannot be realized.
A color conversion method disclosed in Japanese Patent Application Kokai Publication H7-170404 is a proposed solution to this problem. FIG. 39 is a block circuit diagram showing the color conversion method for conversion of image data of R, G and B into printing data of C, M and Y, disclosed in Japanese Patent Application Kokai Publication H7-170404. A reference numeral 100 denotes a complement calculator; 101, a minimum and maximum calculator; 102, a hue data calculator; 103, a polynomial calculator; 104, a matrix calculator; 105, a coefficient generator; and 106, a synthesizer.
Next, the operation will be described. The complement calculator 100 receives image data R, G and B, and outputs complementary color data Ci, Mi and Yi which have been obtained by determining 1xe2x80x2s complements. The minimum and maximum calculator 101 outputs a maximum value xcex2 and a minimum value xcex1 of this complementary color data and an identification code S for indicating, among the six hue data, data which are zero.
The hue data calculator 102 receives the complementary color data Ci, Mi and Yi and the maximum and minimum values xcex2 and xcex1, and outputs six hue data r, g, b, y, m and c which are obtained by executing the following subtraction: r=xcex2xe2x88x92Ci, g=xcex2xe2x88x92Mi, b=xcex2xe2x88x92Yi, y=Yixe2x88x92xcex1, m=Mixe2x88x92xcex1, and c=Cixe2x88x92xcex1. Here, among the six hue data, at least two are of a value xe2x80x9czero.xe2x80x9d
The polynomial calculator 103 receives the hue data and the identification code S, selects, from r, g and b, two data Q1 and Q2 which are not zero and, from y, m and c, two data P1 and P2 which are not zero. Based on these data, the polynomial calculator 103 computes polynomial data: T1=P1*P2, T3=Q1*Q2, T2=T1/(P1+P2), and T4=T3/(Q1+Q2), and then outputs the results of the calculation.
The coefficient generator 105 generates calculation coefficients U(Fij) and fixed coefficients U(Fij) for the polynomial data based on information regarding the identification code S. The matrix calculator 104 receives the hue data y, m and c, the polynomial data T1 to T4 and the coefficients U, and outputs a result of the following formula (44) as color ink data C1, M1 and Y1.                               [                                                    C1                                                                    M1                                                                    Y1                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            c                                                                              m                                                                              y                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                                          ⁢                                          m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                                          ⁢                                          y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                                          ⁢                                          r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                                          ⁢                                          g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                                          ⁢                                          b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                          ]                                              (        44        )            
The synthesizer 106 adds together the color ink data C1, M1 and Y1 and data xcex1 which is the achromatic data, and outputs printing data C, M and Y. Accordingly, the following formula (45) is used for obtaining printing data.                               [                                                    C                                                                    M                                                                    Y                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            c                                                                              m                                                                              y                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                                          ⁢                                          m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                                          ⁢                                          y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                                          ⁢                                          r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                                          ⁢                                          g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                                          ⁢                                          b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                          ]                    +                      [                                                            α                                                                              α                                                                              α                                                      ]                                              (        45        )            
The formula (45) is a general formula for a group of pixels.
FIGS. 40A to 40F, which are schematic diagrams, show relations between six hues of red (R), green (G), blue (B), yellow (Y), cyan (C) and magenta (M) and hue data y, m, c, r, g and b, and each hue data relates to or extends to cover three hues.
FIGS. 41A to 41F, which are schematic diagrams, show relations between the six hues and product terms m*y, r*g, y*c, g*b, c*m and b*r, and it is seen that each hue data relates to specified hue among the six hues.
Thus, each of the six product terms m*y, c*m, y*c, r*g, g*b and b*r relates to only one specific hue among the six hues of red, blue, green, yellow, cyan and magenta. In other words, only m*y is an effective product term for red; c*m for blue; y*c for green; r*g for yellow; g*b for cyan; and b*r for magenta.
Also, each of the six fraction terms m*y/(m+y), c*m/(c+m), y*c/(y+c), r*g/(r+g), g*b/(g+b) and b*r/(b+r) in the formula (45) relates to only one specific hue among the six hues.
As apparent from the foregoing, according to the color conversion method shown in FIG. 39, by changing coefficients for the product terms and the fraction terms regarding the specific hue, only the target hue can be adjusted without influencing other hues.
Each of the foregoing product terms is determined by a second-order computation for chroma, and each of the fraction terms is determined by a first-order computation for chroma. Thus, by using both of the product terms and the fraction terms, the non-linearity of an image-printing for chroma can be corrected.
However, even in this color conversion method, the problems of the non-linearity of image-printing for hues remains to be solved. If an area in a color space occupied by specific hues is to be expanded or reduced, according to the user""s preference, e.g., specifically, if expansion or reduction of an area of red in a color space including magenta, red and yellow is desired, the conventional color conversion method of the matrix computation type could not meet with such a desire.
The problems of the conventional color conversion method or color conversion device are summarized as follows. Where the color conversion device is of a table conversion method employing a memory such as ROM, a large-capacity memory is required, and a conversion characteristic cannot be flexibly changed. Where the color conversion device uses a matrix calculation method, although it is possible to change only a target hue, it is not possible to correct the inter-hue areas between adjacent ones of the six hues of red, blue, green, yellow, cyan and magenta, good conversion characteristics cannot be realized throughout the entire color space.
The invention has been made to overcome the problems described above, and its object is to provide a color conversion device and a color conversion method with which it is possible to adjust the six hues of red, blue, green, yellow, cyan and magenta, and the six inter-hue areas, with which the conversion characteristics can be flexibly varied, and which does not require a large-capacity memory.
According to a first aspect of the invention, there is provided a color conversion device comprising:
calculating means for calculating maximum and minimum values xcex2 and xcex1 of image information for each pixel;
hue data calculating means for calculating hue data r, g, b, y, m and c based on the image information, and the maximum and minimum values xcex2 and xcex1 outputted from said calculating means;
means for generating comparison-result data based on said hue data outputted from said hue data calculating means;
first calculating means for performing calculation on outputs from said comparison-result data generating means and said hue data outputted from said hue data calculating means;
second calculating means for performing calculation on said hue data outputted from said hue data calculating means;
coefficient generating means for generating predetermined matrix coefficients; and
means for performing matrix calculation using the comparison-result data from said comparison-result data generating means, outputs from said first and second calculating means, the hue data from said hue data calculating means, the minimum value xcex1 from said calculating means and the coefficients from said coefficient generating means, to thereby obtain color-converted image information.
With the above arrangement, it is possible to independently correct, in addition to the six hues of red, blue, green, yellow, cyan and magenta, the six inter-hue areas of red-yellow, yellow-green, green-cyan, cyan-blue, blue-magenta, and magenta-red.
It is also possible to flexibly change the conversion characteristics, and the large-capacity memory is not required.
It may be so arranged that
said calculating means for calculating said maximum and minimum values xcex2 and xcex1 includes means for calculating maximum and minimum values xcex2 and xcex1 of image data R, G and B which is image information for each pixel,
said hue data calculating means includes means for calculating hue data r, g, b, y, m and c by performing subtraction:
r=Rxe2x88x92xcex1, 
g=Gxe2x88x92xcex1, 
b=Bxe2x88x92xcex1, 
y=xcex2xe2x88x92B, 
m=xcex2xe2x88x92G, and 
c=xcex2xe2x88x92R, 
xe2x80x83on said image data R, G and B and said maximum and minimum values xcex2 and xcex1 outputted from said calculating means,
said comparison-result data generating means includes:
multiplying means for multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6,
first comparison-result data generating means for obtaining comparison-result data
hry=min (aq1*g, and ap1*m), 
hrm=min (aq2*b, and ap2*y), 
xe2x80x83hgy=min (aq3*r, and ap3*c),
hgc=min (aq4*b, and ap4*y), 
hbm=min (aq5*r, and ap5*c), and 
hbc=min (aq6*g, and ap6*m) 
xe2x80x83(where min (A, B) represent minimum values of A and B), between respective outputs from said multiplying means, and
second comparison-result data generating means for obtaining comparison-result data between said comparison-result data outputted from said first comparison-result data generating means and said hue data,
said first calculating means includes means for obtaining product terms based on said outputs from said first comparison-result data generating means and said hue data,
said second calculating means includes means for obtaining product terms and fraction terms on said hue data, and
said matrix calculation means performs matrix calculation using the comparison-result data from said comparison-result data generating means, the outputs from said first and second calculating means, the hue data from said hue data calculating means and the minimum value xcex1 from said calculating means, to obtain the color-converted image data.
It may be so arranged that
said calculating means for calculating said maximum and minimum values xcex2 and xcex1 includes means for calculating maximum and minimum values xcex2 and xcex1 of complementary color data C, M and Y of cyan, magenta and yellow which is image information for each pixel,
said hue data calculating means includes means for calculating hue data r, g, b, y, m and c by performing subtraction:
xe2x80x83r=xcex2xe2x88x92C, 
g=xcex2xe2x88x92M, 
b=xcex2xe2x88x92Y, 
y=Yxe2x88x92xcex1, 
m=Mxe2x88x92xcex1, and 
c=Cxe2x88x92xcex1, 
xe2x80x83on said complementary color data C, M and Y and said maximum and minimum values xcex2 and xcex1 outputted from said calculating means,
said comparison-result data generating means includes:
multiplying means for multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6,
first comparison-result data generating means for obtaining comparison-result data
hry=min (aq1*g, and ap1*m), 
hrm=min (aq2*b, and ap2*y), 
hgy=min (aq3*r, and ap3*c), 
hgc=min (aq4*b, and ap4*y), 
hbm=min (aq5*r, and ap5*c), and 
hbc=min (aq6*g, and ap6*m) 
xe2x80x83(where min (A, B) represent minimum values of A and B), between respective outputs from said multiplying means, and
second comparison-result data generating means for obtaining comparison-result data between said comparison-result data outputted from said first comparison-result data generating means and said hue data,
said first calculating means includes means for obtaining product terms based on said outputs from said first comparison-result data generating means and said hue data,
said second calculating means includes means for obtaining product terms and fraction terms on said hue data, and
said matrix calculation means performs matrix calculation using the comparison-result data from said comparison-result data generating means, the outputs from said first and second calculating means, the hue data from said hue data calculating means and the minimum value xcex1 from said calculating means, to obtain the color-converted image data.
It may be so arranged that
said calculating means for calculating said maximum and minimum values xcex2 and xcex1 includes means for calculating maximum and minimum values xcex2 and xcex1 of image data R, G and B which is image information for each pixel,
said hue data calculating means includes means for calculating hue data r, g, b, y, m and c by performing subtraction:
r=Rxe2x88x92xcex1, 
g=Gxe2x88x92xcex1, 
b=Bxe2x88x92xcex1, 
y=xcex2xe2x88x92B, 
m=xcex2xe2x88x92G, and 
c=xcex2xe2x88x92R, 
xe2x80x83on said image data R, G and B and said maximum and minimum values xcex2 and xcex1 outputted from said calculating means,
said comparison-result data generating means includes:
multiplying means for multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6,
first comparison-result data generating means for obtaining comparison-result data
hry=min (aq1*g, and ap1*m), 
hrm=min (aq2*b, and ap2*y), 
hgy=min (aq3*r, and ap3*c), 
hgc=min (aq4*b, and ap4*y), 
hbm=min (aq5*r, and ap5*c), and 
xe2x80x83hbc=min (aq6*g, and ap6*m)
xe2x80x83(where min (A, B) represent minimum values of A and B), between respective outputs from said multiplying means, and
second comparison-result data generating means for obtaining comparison-result data between said comparison-result data outputted from said first comparison-result data generating means and said hue data,
means for determining comparison-result data between the hue data r, g and b, and between the hue data y, m and c;
said first calculating means includes means for obtaining product terms based on said outputs from said first comparison-result data generating means and said hue data,
said second calculating means includes means for obtaining product terms on said hue data, and
said matrix calculation means performs matrix calculation using the comparison-result data from said comparison-result data generating means, the outputs from said first and second calculating means, the hue data from said hue data calculating means and the minimum value xcex1 from said calculating means, to obtain the color-converted image data.
It may be so arranged that
said calculating means for calculating said maximum and minimum values xcex2 and xcex1 includes means for calculating maximum and minimum values xcex2 and xcex1 of complementary color data C, M and Y which is image information for each pixel,
said hue data calculating means includes means for calculating hue data r, g, b, y, m and c by performing subtraction:
r=xcex2xe2x88x92C, 
g=xcex2xe2x88x92M, 
b=xcex2xe2x88x92Y, 
xe2x80x83y=Yxe2x88x92xcex1, 
m=Mxe2x88x92xcex1, and 
c=Cxe2x88x92xcex1, 
xe2x80x83on said complementary color data C, M and Y and said maximum and minimum values xcex2 and xcex1 outputted from said calculating means,
said comparison-result data generating means includes:
multiplying means for multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6,
first comparison-result data generating means for obtaining comparison-result data
hry=min (aq1*g, and ap1*m), 
hrm=min (aq2*b, and ap2*y), 
hgy=min (aq3*r, and ap3*c), 
hgc=min (aq4*b, and ap4*y), 
hbm=min (aq5*r, and ap5*c), and 
hbc=min (aq6*g, and ap6*m) 
xe2x80x83(where min (A, B) represent minimum values of A and B), between respective outputs from said multiplying means, and
second comparison-result data generating means for obtaining comparison-result data between said comparison-result data outputted from said first comparison-result data generating means and said hue data,
means for determining comparison-result data between the hue data r, g and b, and between the hue data y, m and c;
said first calculating means includes means for obtaining product terms based on said outputs from said first comparison-result data generating means and said hue data,
said second calculating means includes means for obtaining product terms on said hue data, and
said matrix calculation means performs matrix calculation using the comparison-result data from said comparison-result data generating means, the outputs from said first and second calculating means, the hue data from said hue data calculating means and the minimum value xcex1 from said calculating means, to obtain the color-converted image data.
It may be so arranged that
said second comparison-result data generating means obtains comparison-result data between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc and said hue data r, g and b,
said first calculating means obtains product terms between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc outputted from said first comparison-result data generating means and said hue data r, g and b,
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, and j=1 to 3) and Fij (i=1 to 3, and j=1 to 25), and
said matrix calculation means performs matrix calculation of the following formula (3) on said comparison-result data, said calculation terms using said comparison-result data, said calculation terms based on said hue data, and said minimum value xcex1 outputted from said calculating means, to thereby obtain color-converted image data.                               [                                                    R                                                                    G                                                                    B                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            r                                                                              g                                                                              b                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                                          ⁢                                          m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                                          ⁢                                          y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                                          ⁢                                          r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                                          ⁢                                          g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                                          ⁢                                          b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                                                                                          ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          hry                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          hrm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          hgy                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          hgc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          hbm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          hbc                                                )                                                                                                                                                                                  ⁢                                          r                      *                      hry                                                                                                                                                            ⁢                                          r                      *                      hrm                                                                                                                                                            ⁢                                          g                      *                      hgy                                                                                                                                                            ⁢                                          g                      *                      hgc                                                                                                                                                            ⁢                                          b                      *                      hbm                                                                                                                                                            ⁢                                          b                      *                      hbc                                                                                                                                                            ⁢                    α                                                                        ]                                              (        3        )            
With the above arrangement, by changing the coefficients for the calculation terms relating to the specific hue, and the first-order and second-order terms relating to the inter-hue areas, it is possible to adjust only the target hue or inter-hue area among the six hues of red, blue, green, yellow, cyan and magenta, and the six inter-hue areas, without influencing other hues and inter-hue areas, and by changing the coefficients relating to the minimum value xcex1 which is the achromatic data, it is possible to adjust only the achromatic component without influencing the hue components.
It may be so arranged that
said second comparison-result data generating means obtains comparison-result data between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc and said hue data y, m and c,
said first calculating means obtains product terms between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc outputted from said first comparison-result data generating means and said hue data y, m and c,
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, and j=1 to 3) and Fij (i=1 to 3, and j=1 to 24), and
said matrix calculation means performs matrix calculation of the following formula (10) on said comparison-result data, said calculation terms using said comparison-result data, said calculation terms based on said hue data, and said minimum value xcex1 outputted from said calculating means, to thereby obtain color-converted image data.                               [                                                    C                                                                    M                                                                    Y                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            c                                                                              m                                                                              y                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                                          ⁢                                          m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                                          ⁢                                          y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                                          ⁢                                          r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                                          ⁢                                          g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                                          ⁢                                          b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                                                                                          ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          hry                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          hgy                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          hgc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          hbc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          hbm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          hrm                                                )                                                                                                                                                                                  ⁢                                          y                      *                      hry                                                                                                                                                            ⁢                                          y                      *                      hgy                                                                                                                                                            ⁢                                          c                      *                      hgc                                                                                                                                                            ⁢                                          c                      *                      hbc                                                                                                                                                            ⁢                                          m                      *                      hbm                                                                                                                                                            ⁢                                          m                      *                      hrm                                                                                            ]                    +                      [                                                            α                                                                              α                                                                              α                                                      ]                                              (        10        )            
With the above arrangement, it is possible to independently correct, in addition to the six hues of red, blue, green, yellow, cyan and magenta, the six inter-hue areas of red-yellow, yellow-green, green-cyan, cyan-blue, blue-magenta, and magenta-red.
It is also possible to flexibly change the conversion characteristics, and the large-capacity memory is not required.
It may be so arranged that
said second comparison-result data generating means obtains comparison-result data between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc and said hue data r, g, and b,
said first calculating means obtains product terms between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc outputted from said first comparison-result data generating means and said hue data r, g and b,
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, and j=1 to 3) and Fij (i=1 to 3, and j=1 to 25), and
said matrix calculation means performs matrix calculation of the following formula (19) on said comparison-result data, said calculation terms using said comparison-result data, said calculation terms based on said hue data, and said minimum value xcex1 outputted from said calculating means, to thereby obtain color-converted image data.                               [                                                    R                                                                    G                                                                    B                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            r                                                                              g                                                                              b                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          m                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          y                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          c                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          g                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          b                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          r                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          hry                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          hrm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          hgy                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          hgc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          hbm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          hbc                                                )                                                                                                                                                                                  ⁢                                          r                      *                      hry                                                                                                                                                            ⁢                                          r                      *                      hrm                                                                                                                                                            ⁢                                          g                      *                      hgy                                                                                                                                                            ⁢                                          g                      *                      hgc                                                                                                                                                            ⁢                                          b                      *                      hbm                                                                                                                                                            ⁢                                          b                      *                      hbc                                                                                                                                                            ⁢                    α                                                                        ]                                              (        19        )            
With the above arrangement, by changing the coefficients for the calculation terms relating to the specific hue, and the first-order and second-order terms relating to the inter-hue areas, it is possible to adjust only the target hue or inter-hue area among the six hues of red, blue, green, yellow, cyan and magenta, and the six inter-hue areas, without influencing other hues and inter-hue areas, and by changing the coefficients relating to the minimum value xcex1 which is the achromatic data, it is possible to adjust only the achromatic component without influencing the hue components.
It may be so arranged that
said second comparison-result data generating means obtains comparison-result data between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc and said hue data y, m and c,
said first calculating means obtains product terms between said comparison-result data hry, hrm, hgy, hgc, hbm and hbc outputted from said first comparison-result data generating means and said hue data y, m and c,
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, and j=1 to 3) and Fij (i=1 to 3, and j=1 to 25), and
said matrix calculation means performs matrix calculation of the following formula (28) on said comparison-result data, said calculation terms using said comparison-result data, said calculation terms based on said hue data, and said minimum value xcex1 outputted from said calculating means, to thereby obtain color-converted image data.                               [                                                    C                                                                    M                                                                    Y                                              ]                =                                            (              Eij              )                        ⁢                          xe2x80x83                        [                                                            c                                                                              m                                                                              y                                                      ]                    +                                    (              Fij              )                        ⁢                          xe2x80x83                        [                                                                                                    ⁢                                          c                      *                      m                                                                                                                                                            ⁢                                          m                      *                      y                                                                                                                                                            ⁢                                          y                      *                      c                                                                                                                                                            ⁢                                          r                      *                      g                                                                                                                                                            ⁢                                          g                      *                      b                                                                                                                                                            ⁢                                          b                      *                      r                                                                                                                                                            ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          m                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          y                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          c                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  r                          ,                          g                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  g                          ,                          b                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  b                          ,                          r                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          hry                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  y                          ,                          hgy                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          hgc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  c                          ,                          hbc                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          hbm                                                )                                                                                                                                                                                  ⁢                                          min                      ⁢                                              xe2x80x83                                            ⁢                                              (                                                  m                          ,                          hrm                                                )                                                                                                                                                                                  ⁢                                          y                      *                      hry                                                                                                                                                            ⁢                                          y                      *                      hgy                                                                                                                                                            ⁢                                          c                      *                      hgc                                                                                                                                                            ⁢                                          c                      *                      hbc                                                                                                                                                            ⁢                                          m                      *                      hbm                                                                                                                                                            ⁢                                                                                                                                                    ⁢                                                          m                              *                              hrm                                                                                                                                                                                                                                    ⁢                            a                                                                                                                                                                    ]                                              (        28        )            
With the above arrangement, by changing the coefficients for the calculation terms relating to the specific hue, and the first-order and second-order terms relating to the inter-hue areas, it is possible to adjust only the target hue or inter-hue area among the six hues of red, blue, green, yellow, cyan and magenta, and the six inter-hue areas, without influencing other hues and inter-hue areas, and by changing the coefficients relating to the minimum value xcex1 which is the achromatic data, it is possible to adjust only the achromatic component without influencing the hue components.
It may be so arranged that
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, and j=1 to 3) of the following formula (33) and matrix coefficients Fij (i=1 to 3, and j=1 to 24, or j=1 to 25), each of said coefficients Fij being set to a predetermined value.                               (          Eij          )                =                  [                                                    1                                            0                                            0                                                                    0                                            1                                            0                                                                    0                                            0                                            1                                              ]                                    (        33        )            
It may be so arranged that
said calculating means includes means for calculating the maximum and minimum values xcex2 and xcex1 of image information for each pixel and generating and outputting an identification code for identifying the hue data having a value zero, according to which component of the image information is the maximum and minimum for each pixel,
said comparison-result data generating means generates comparison-result data based on said identification code outputted from said calculating means,
said coefficient generating means generates matrix coefficients based on said identification code outputted from said calculating means, and
said matrix calculation means performs, according to said identification code from said calculating means, by performing matrix calculation using said coefficients from said coefficient generating means, to obtain color-converted image information.
It may be so arranged that
said multiplying means performs, by setting said calculation coefficients aq1 to aq6 and ap1 to ap6 to a value given by 2n, with n being an integer 0, 1, 2, . . . , calculation on said hue data and said calculation coefficients, by means of bit shifting.
According to a second aspect of the invention, there is provided a color conversion method for obtaining color-converted image information, comprising the steps of:
calculating maximum and minimum values xcex2 and xcex1 of image information for each pixel;
calculating hue data r, g, b, y, m and c based on said image information and said calculated maximum and minimum values xcex2 and xcex1;
generating comparison-result data using said calculated hue data;
performing calculation on said comparison-result data and said calculated hue data;
performing calculation between said respective hue data; and
performing matrix calculation using said comparison-result data, outputs of said calculation, said calculated hue data, said minimum value xcex1, and based on predetermined matrix coefficients.
The method may further comprise the steps of:
calculating the maximum and minimum values xcex2 and xcex1 of image data R, G and B which is image information for each pixel;
calculating hue data r, g, b, y, m and c by performing subtraction
r=Rxe2x88x92xcex1, 
g=Gxe2x88x92xcex1, 
b=Bxe2x88x92xcex1, 
y=xcex2xe2x88x92B, 
m=xcex2xe2x88x92G, and 
c=xcex2xe2x88x92R, 
xe2x80x83on said inputted image data R, G and B and said maximum and minimum values xcex2 and xcex1;
multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6;
obtaining comparison-result data between respective outputs of said multiplication, said comparison-result data being
hry=min (aq1*g, ap1*m), 
hrm=min (aq2*b, ap2*y), 
hgy=min (aq3*r, ap3*c), 
hgc=min (aq4*b, ap4*y), 
hbm=min (aq5*r, ap5*c), and 
hbc=min (aq6*g, ap6*m), 
xe2x80x83with min (A, B) representing the minimum value of A and B;
obtaining comparison-result data between said comparison-result data and said hue data;
obtaining product terms based on said comparison-result data hry, hrm, hgy, hgc, hbm and hbc, and said hue data;
obtaining product terms, and fraction terms based on said hue data; and
performing matrix calculation using said comparison-result data, the results of said calculation, said hue data, and said minimum value xcex1, to thereby obtain color-converted image data.
The method may further comprise the steps of:
calculating the maximum and minimum values xcex2 and xcex1 of complementary color data C, M and Y of cyan, magenta and yellow which is image information for each pixel;
calculating hue data r, g, b, y, m and c by performing subtraction
r=xcex2xe2x88x92C, 
g=xcex2xe2x88x92M, 
b=xcex2xe2x88x92Y, 
y=Yxe2x88x92xcex1, 
m=Mxe2x88x92xcex1, and 
c=Cxe2x88x92xcex1, 
xe2x80x83on said complementary color data C, M and Y and said maximum and minimum values xcex2 and xcex1;
multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6;
obtaining comparison-result data between respective outputs of said multiplication, said comparison-result data being
hry=min (aq1*g, ap1*m), 
hrm=min (aq2*b, ap2*y), 
hgy=min (aq3*r, ap3*c), 
hgc=min (aq4*b, ap4*y), 
hbm=min (aq5*r, ap5*c), and 
hbc=min (aq6*g, ap6*m), 
xe2x80x83with min (A, B) representing the minimum value of A and B;
obtaining comparison-result data between said comparison-result data and said hue data;
obtaining product terms based on said comparison-result data hry, hrm, hgy, hgc, hbm and hbc, and said hue data;
obtaining product terms, and fraction terms based on said hue data; and
performing matrix calculation using said comparison-result data, the results of said calculation, said hue data, and said minimum value xcex1, to thereby obtain color-converted image data.
The method may further comprise the steps of:
calculating the maximum and minimum values xcex2 and xcex1 of image data R, G and B which is image information for each pixel;
calculating hue data r, g, b, y, m and c by performing subtraction
r=Rxe2x88x92xcex1, 
g=Gxe2x88x92xcex1, 
b=Bxe2x88x92xcex1, 
y=xcex2xe2x88x92B, 
m=xcex2xe2x88x92G, and 
c=xcex2xe2x88x92R, 
xe2x80x83on said image data R, G and B and said maximum and minimum values xcex2 and xcex1;
multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6;
obtaining comparison-result data between respective outputs of said multiplication, said comparison-result data being
hry=min (aq1*g, ap1*m), 
hrm=min (aq2*b, ap2*y), 
hgy=min (aq3*r, ap3*c), 
hgc=min (aq4*b, ap4*y), 
hbm=min (aq5*r, ap5*c), and 
hbc=min (aq6*g, ap6*m), 
xe2x80x83with min (A, B) representing the minimum value of A and B;
obtaining comparison-result data between said comparison-result data and said hue data;
obtaining comparison-result data between said hue data r, g, and b, and between said hue data y, m and c;
obtaining product terms based on said comparison-result data hry, hrm, hgy, hgc, hbm and hbc, and said hue data;
obtaining product terms based on said hue data; and
performing matrix calculation using said comparison-result data, the results of said calculation, said hue data, and said minimum value xcex1, to thereby obtain color-converted image data.
The method may further comprise the steps of:
calculating the maximum and minimum values xcex2 and xcex1 of complementary color data C, M and Y which is image information for each pixel;
calculating hue data r, g, b, y, m and c by performing subtraction
r=xcex2xe2x88x92C, 
g=xcex2xe2x88x92M, 
b=xcex2xe2x88x92Y, 
y=Yxe2x88x92xcex1, 
m=Mxe2x88x92xcex1, and 
c=Cxe2x88x92xcex1, 
xe2x80x83on said complementary color data C, M and Y and said maximum and minimum values xcex2 and xcex1;
multiplying said hue data by predetermined calculation coefficients aq1 to aq6 and ap1 to ap6;
obtaining comparison-result data between respective outputs of said multiplication, said comparison-result data being
hry=min (aq1*g, ap1*m), 
hrm=min (aq2*b, ap2*y), 
hgy=min (aq3*r, ap3*c), 
hgc=min (aq4*b, ap4*y), 
hbm=min (aq5*r, ap5*c), and 
hbc=min (aq6*g, ap6*m), 
xe2x80x83with min (A, B) representing the minimum value of A and B;
obtaining comparison-result data between said comparison-result data and said hue data;
obtaining comparison-result data between said hue data r, g and b, and between said hue data y, m and c;
obtaining product terms based on said comparison-result data hry, hrm, hgy, hgc, hbm and hbc, and said hue data;
obtaining product terms based on said hue data; and
performing matrix calculation using said comparison-result data, the results of said calculation, said hue data, and said minimum value xcex1, to thereby obtain color-converted image data.